package org.boot.ssm.wxshop.domain;

import java.util.Date;
import java.util.List;
import javax.persistence.*;

@Table(name = "es_goods")
public class Goods {
    /**
     * 商品编号
     */
    @Id
    private Integer id;

    /**
     * 商品名称
     */
    private String name;

    /**
     * 商品标题
     */
    private String title;

    /**
     * 商品子标题
     */
    @Column(name = "subTitle")
    private String subtitle;

    /**
     * 商品价格
     */
    private Double price;

    /**
     * 商品封面图
     */
    @Column(name = "coverImg")
    private String coverimg;

    /**
     * 商品轮播图 (最少1张 最多10张)
     */
    @Column(name = "carousel_imgs")
    private String carouselImgs;

    /**
     * 运费
     */
    private Double freight;

    /**
     * 库存数量
     */
    private Integer num;

    /**
     * 收藏数量
     */
    @Column(name = "collectionNum")
    private Integer collectionnum;

    /**
     * 销量卖出
     */
    @Column(name = "saleNum")
    private Integer salenum;

    /**
     * 0:准备上架１:上架２:下架
     */
    private Integer state;

    /**
     * 商品类型id
     */
    @Column(name = "goods_type_id")
    private Integer goodsTypeId;

    /**
     * 创建时间
     */
    @Column(name = "createTime")
    private Date createtime;

    /**
     * 更新时间
     */
    @Column(name = "updateTime")
    private Date updatetime;

    /**
     * 0 删除 1未删除
     */
    @Column(name = "is_delete")
    private Integer isDelete;

    /**
     * 商品详情
     */
    private String detail;

    /**
     * 商品类别名称
     */
    @Transient
    private String goodsTypeName;

    public String getGoodsTypeName() {
        return goodsTypeName;
    }

    public void setGoodsTypeName(String goodsTypeName) {
        this.goodsTypeName = goodsTypeName;
    }

    /**
     * 获取商品编号
     *
     * @return id - 商品编号
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置商品编号
     *
     * @param id 商品编号
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取商品名称
     *
     * @return name - 商品名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置商品名称
     *
     * @param name 商品名称
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * 获取商品标题
     *
     * @return title - 商品标题
     */
    public String getTitle() {
        return title;
    }

    /**
     * 设置商品标题
     *
     * @param title 商品标题
     */
    public void setTitle(String title) {
        this.title = title == null ? null : title.trim();
    }

    /**
     * 获取商品子标题
     *
     * @return subTitle - 商品子标题
     */
    public String getSubtitle() {
        return subtitle;
    }

    /**
     * 设置商品子标题
     *
     * @param subtitle 商品子标题
     */
    public void setSubtitle(String subtitle) {
        this.subtitle = subtitle == null ? null : subtitle.trim();
    }

    /**
     * 获取商品价格
     *
     * @return price - 商品价格
     */
    public Double getPrice() {
        return price;
    }

    /**
     * 设置商品价格
     *
     * @param price 商品价格
     */
    public void setPrice(Double price) {
        this.price = price;
    }

    /**
     * 获取商品封面图
     *
     * @return coverImg - 商品封面图
     */
    public String getCoverimg() {
        return coverimg;
    }

    /**
     * 设置商品封面图
     *
     * @param coverimg 商品封面图
     */
    public void setCoverimg(String coverimg) {
        this.coverimg = coverimg == null ? null : coverimg.trim();
    }

    /**
     * 获取商品轮播图 (最少1张 最多10张)
     *
     * @return carousel_imgs - 商品轮播图 (最少1张 最多10张)
     */
    public String getCarouselImgs() {
        return carouselImgs;
    }

    /**
     * 设置商品轮播图 (最少1张 最多10张)
     *
     * @param carouselImgs 商品轮播图 (最少1张 最多10张)
     */
    public void setCarouselImgs(String carouselImgs) {
        this.carouselImgs = carouselImgs == null ? null : carouselImgs.trim();
    }

    /**
     * 获取运费
     *
     * @return freight - 运费
     */
    public Double getFreight() {
        return freight;
    }

    /**
     * 设置运费
     *
     * @param freight 运费
     */
    public void setFreight(Double freight) {
        this.freight = freight;
    }

    /**
     * 获取库存数量
     *
     * @return num - 库存数量
     */
    public Integer getNum() {
        return num;
    }

    /**
     * 设置库存数量
     *
     * @param num 库存数量
     */
    public void setNum(Integer num) {
        this.num = num;
    }

    /**
     * 获取收藏数量
     *
     * @return collectionNum - 收藏数量
     */
    public Integer getCollectionnum() {
        return collectionnum;
    }

    /**
     * 设置收藏数量
     *
     * @param collectionnum 收藏数量
     */
    public void setCollectionnum(Integer collectionnum) {
        this.collectionnum = collectionnum;
    }

    /**
     * 获取销量卖出
     *
     * @return saleNum - 销量卖出
     */
    public Integer getSalenum() {
        return salenum;
    }

    /**
     * 设置销量卖出
     *
     * @param salenum 销量卖出
     */
    public void setSalenum(Integer salenum) {
        this.salenum = salenum;
    }

    /**
     * 获取0:准备上架１:上架２:下架
     *
     * @return state - 0:准备上架１:上架２:下架
     */
    public Integer getState() {
        return state;
    }

    /**
     * 设置0:准备上架１:上架２:下架
     *
     * @param state 0:准备上架１:上架２:下架
     */
    public void setState(Integer state) {
        this.state = state;
    }

    /**
     * 获取商品类型id
     *
     * @return goods_type_id - 商品类型id
     */
    public Integer getGoodsTypeId() {
        return goodsTypeId;
    }

    /**
     * 设置商品类型id
     *
     * @param goodsTypeId 商品类型id
     */
    public void setGoodsTypeId(Integer goodsTypeId) {
        this.goodsTypeId = goodsTypeId;
    }

    /**
     * 获取创建时间
     *
     * @return createTime - 创建时间
     */
    public Date getCreatetime() {
        return createtime;
    }

    /**
     * 设置创建时间
     *
     * @param createtime 创建时间
     */
    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    /**
     * 获取更新时间
     *
     * @return updateTime - 更新时间
     */
    public Date getUpdatetime() {
        return updatetime;
    }

    /**
     * 设置更新时间
     *
     * @param updatetime 更新时间
     */
    public void setUpdatetime(Date updatetime) {
        this.updatetime = updatetime;
    }

    /**
     * 获取0 删除 1未删除
     *
     * @return is_delete - 0 删除 1未删除
     */
    public Integer getIsDelete() {
        return isDelete;
    }

    /**
     * 设置0 删除 1未删除
     *
     * @param isDelete 0 删除 1未删除
     */
    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    /**
     * 获取商品详情
     *
     * @return detail - 商品详情
     */
    public String getDetail() {
        return detail;
    }

    /**
     * 设置商品详情
     *
     * @param detail 商品详情
     */
    public void setDetail(String detail) {
        this.detail = detail == null ? null : detail.trim();
    }

    @Override
    public String toString() {
        return "Goods{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", title='" + title + '\'' +
                ", subtitle='" + subtitle + '\'' +
                ", price=" + price +
                ", coverimg='" + coverimg + '\'' +
                ", carouselImgs='" + carouselImgs + '\'' +
                ", freight=" + freight +
                ", num=" + num +
                ", collectionnum=" + collectionnum +
                ", salenum=" + salenum +
                ", state=" + state +
                ", goodsTypeId=" + goodsTypeId +
                ", createtime=" + createtime +
                ", updatetime=" + updatetime +
                ", isDelete=" + isDelete +
                ", detail='" + detail + '\'' +
                ", goodsTypeName='" + goodsTypeName + '\'' +
                '}';
    }
}